<?php

namespace wechat\bun;

use wechat\Wx;

class Jssdk extends Wx{

//    根据文档进行签名算法
    public function signcount(){

//        $server = $_SERVER;
//        echo "<pre>";
//        print_r($server);

//        随机字符串
        $noncestr = $this->mkstr();
//        echo $noncestr;die;
//        有效的jsapi_ticket
        $jsapi_ticket = $this->getJsapi_ticket();
//        当前时间戳
        $timestamp = time();
//        当前网页的url
        $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        $arr = [
          'noncestr='.$noncestr,
          'jsapi_ticket='.$jsapi_ticket,
          'timestamp='.$timestamp,
          'url='.$url,
        ];
//        对数组进行字典排序
        sort($arr,SORT_STRING);
//        echo "<pre>";
//        print_r($arr);
//        分割成字符串
        $str = implode($arr,'&');
//        echo $str;
//        然后进行sha1加密
        $string = sha1($str);
//        echo $string;
//        因为外面要调用这些数据，所以我们直接把数组返回
        $array = [
            'sign'=>$string,
            'noncestr'=>$noncestr,
//            'appid'=>'wx5fd42ad7d86f4d40',
            'appid'=>'wx60bf3a5880497091',
            'timestamp'=>$timestamp,
            'url'=>$url
        ];
//        echo "<pre>";
//        print_r($array);die;
        return $array;
//        签名算法完毕
    }

//    生成随机字符串
    public function mkstr(){
        $str = 'kslskdkaqll4l5l2llxlalka6l3lxlllslel24cl';
        $kong = '';
        for ($i = 0;$i<8;$i++){
            $num = mt_rand(0,strlen($str)-1);
            $kong .= $str[$num];
        }
        return $kong;
    }
}



?>